
#ifndef __ai_agentH__
#define __ai_agentH__

#include "ai_behaviour.h"
#include "physics.h"

namespace WtfEngine {
	/**
	 * A basic intelligent game entity
	 **/
	class Agent: public Physical, public virtual IActor {
		AiModel::tRef mrAiModel;

	public:
		Agent(const tCreationOptions& args, WtfGraphics::GraphicsData::tCacheRefa d, PhysicalModel::tCacheRefa m, AiModel::tRefa ai):
		  Physical(args, d, m), mrAiModel(ai) {};
		virtual ~Agent() {};

		virtual void Update() {
			mrAiModel->Evaluate(this);
		};
	};
};

#endif
